/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package it.univaq.f4i.iw.ex.album.model;
import java.util.List;
/**
 *
 * @author juli
 */
public interface MeetingDataLayer {
    
    /*Solo pueden borrar Manager los Manager*/
    Manager createManager();
    Manager deleteManager(Manager man);
    /*Solo pueden borrar Organizer los Manager*/
    Organizer createOrganizer();
    Organizer deleteOrganizer(Organizer org);
    /*Hay que comprobar que quien borre invitados sea Manager
     * o Organizer
     */
    Guest createGuest();
    Guest deleteGuest(Guest gue);
    MeetingRoom createMeetingRoom();
    Invitation createInvitation(Organizer o, MeetingRoom m, List<Guest> l, String date, String startTime, String endTime);
    Invitation deteleInvitation(Invitation key);
    Invitation setInvitation(Integer key, List<Guest> l, String date, String startTime, String endTime );
    /*Consultar, añadir y borrar propiedades adicionales
     * de una sala de reuniones */
    List<String> getPropertiesMeetingRoom(MeetingRoom m);
    List<String> addProperty(MeetingRoom m, List<String> properties);
    List<String> deleteProperty(MeetingRoom m, List<String> properties);
    List<Guest> addGuest(Invitation i, List<Guest> g);
    List<Guest> deleteGuest(Invitation i, List<Guest> g);
    Organizer getOrganizer(String key_org);
    List<Guest> getGuestByInvitation(Invitation i);
    MeetingRoom getMeetingRoom(int key_mr);
}
